﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using MySql.Data;
using MySql.Data.MySqlClient;
using CestodoBebe.Util;

namespace CestoDoBebe.DAO
{
    public class Produto
    {
        private int m_CodProduto;
        private string m_NomeProduto;
        private string m_Descricao;
        private Categoria m_Categoria;
        private int m_Qtde;
        private string m_TagsBusca;
        private int m_CodStatus;
        private TipoAnuncio m_TipoAnuncio;
        private DateTime? m_DtaCadastro;
        private Usuario m_Usuario;
        private DateTime? m_DtaNegociacao;
        private string m_CEP;

        AcessoDados dados;


        public int CodProduto
        {
            get { return m_CodProduto; }
            set { m_CodProduto = value; }
        }

        public string NomeProduto
        {
            get { return m_NomeProduto; }
            set { m_NomeProduto = value; }
        }

        public string Descricao
        {
            get { return m_Descricao; }
            set { m_Descricao = value; }
        }

        public Categoria Categoria
        {
            get { return m_Categoria; }
            set { m_Categoria = value; }
        }

        public int Qtde
        {
            get { return m_Qtde; }
            set { m_Qtde = value; }
        }

        public string TagsBusca
        {
            get { return m_TagsBusca; }
            set { m_TagsBusca = value; }
        }

        public int CodStatus
        {
            get { return m_CodStatus; }
            set { m_CodStatus = value; }
        }

        public TipoAnuncio TipoAnuncio
        {
            get { return m_TipoAnuncio; }
            set { m_TipoAnuncio = value; }
        }

        public DateTime? DtaCadastro
        {
            get { return m_DtaCadastro; }
            set { m_DtaCadastro = value; }
        }

        public Usuario USuario
        {
            get { return m_Usuario; }
            set { m_Usuario = value; }
        }

        public DateTime? DtaNegociacao
        {
            get { return m_DtaNegociacao; }
            set { m_DtaNegociacao = value; }
        }

        public string CEP
        {
            get { return m_CEP; }
            set { m_CEP = value; }
        }

        public int incluirProduto(Produto objProduto)
        {
            using (dados = new AcessoDados())
            {
                try
                {
                    List<MySqlParameter> parametros = new List<MySqlParameter>();

                    parametros.Add(new MySqlParameter("P_NMEPRODUTO", objProduto.NomeProduto));
                    parametros.Add(new MySqlParameter("P_DESCRICAO", objProduto.Descricao));
                    parametros.Add(new MySqlParameter("P_CODCATEGORIA", objProduto.Categoria.codCategoriaProduto));
                    parametros.Add(new MySqlParameter("P_QTDE", objProduto.Qtde));
                    parametros.Add(new MySqlParameter("P_CODTIPOANUNCIO", objProduto.TipoAnuncio.codTipoAnuncio));
                    parametros.Add(new MySqlParameter("P_CODUSUARIO", objProduto.USuario.CodUsuario));
                    parametros.Add(new MySqlParameter("P_CEP", objProduto.CEP));

                    MySqlDataReader dr = dados.ObterLeitor("USP_INSERE_PRODUTO", parametros);
                    dr.Read();

                    return Convert.ToInt32(dr["COD_PRODUTO"].ToString());
                }
                catch (Exception ex)
                {
                    return 0;
                }
            }

        }
    }
}
